package com.scala.zhenghui

import scala.util.control.Breaks
import scala.util.control.Breaks._

/**
 * Created by ibf on 2018/1/21.
 */
object WhileDemo {
  def main(args: Array[String]) {
    //while
    //1、首先scala当中，没有break，和continue的关键词

    //最简单的while
    //结果是：0,1,2,3,4,5,6,7,8,9,
    var n = 0
    while (n < 10) {
      print(n + ",")
      //scala当中没有 ++ 、-- 符号
      n = n + 1
    }
    //做了一个换行的操作
    println()
    //do  while的结果是：0,1,2,3,4,5,6,7,8,9,
    n = 0
    do {
      print(n + ",")
      //scala当中没有 ++ 、-- 符号
      n = n + 1
    } while (n < 10)

    //scala中没有break，continue
    //如何实现呢？
    println()
    print("以下是break的方法实现:")
    n = 0
    //新建一个Breaks的对象
    val loop = new Breaks
    //通过break对象来将需要用到break的代码，放到breakable方法中
    loop.breakable(
      while (n < 10) {
        print(n + ",")
        //scala当中没有 ++ 、-- 符号
        n = n + 1
        if (n == 6) {
          //在需要用到break的地方，通过break对象直接调用break方法
          loop.break()
        }
      }
      //continue,这里就不写代码演示了，因为continue，可以直接if实现

    )

    println()
    n = 0
    breakable(
      while (n < 10) {
        print(n + ",")
        //scala当中没有 ++ 、-- 符号
        n = n + 1
        if (n == 6) break
        //在需要用到break的地方，通过break对象直接调用break方法
      }

    )


  }
}
